package jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * 使用预编译SQL执行UPDATE语句
 */
public class JDBCDemo9 {
    public static void main(String[] args) {
        try (Connection connection = DBUtil.getConnection();){
            /*
                JDBC中事务是默认为自动提交的，这意味着每当我们执行一条DML操作就提交事务，即可生效。
                如果我们需要自行控制事务，则要将自动提交事务关闭
             */
            connection.setAutoCommit(false);

            String sql = "UPDATE user " +
                    "SET password=?,nickname=?,age=? " +
                    "WHERE id=?";

            PreparedStatement ps = connection.prepareStatement(sql);
            ps.setString(1,"789789");
            ps.setString(2,"大奇奇");
            ps.setInt(3,40);
            ps.setInt(4,2);
            int num = ps.executeUpdate();
            System.out.println(num>0?"修改成功":"修改失败");




            connection.commit();
            System.out.println("事务提交了，修改算数了");
//            connection.rollback();
//            System.out.println("事务回滚了，修改不算数！");



        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
